In a conventional Multimedia Over Coaxial Alliance (MoCA) network, data packets are transmitted over a coaxial communication channel. Each data packet in a conventional MoCA network includes a preamble followed by a data payload. The preambles are used to calibrate the receiver to receive the following data with the appropriate gain, phase and frequency compensation. The preambles are also used by the receiver to determine when the first OFDM symbol of the payload will be received at the receiver.
FIG. 1 illustrates five different preambles 102, 122, 132, 142, 152 of four different lengths that are utilized in a conventional MoCA 1.0 network. Each preamble is made up of some combination of Short Segments (SS), Long Segments (LS), Gaps, Cyclic Prefixes (CP), and Channel Estimation Symbols (CE).
Each SS segment is defined by a 30-bit binary data input sequence, such as {0111 0000 1000 0111 1100 0100 1111 10}. Each bit of the binary data input sequence is modulated using π/4-offset Bi-Phase Shift Key (BPSK) modulation.
Each LS segment is defined by one of two 64-bit binary data input sequences: LS1, having a binary sequence such as {1111 1101 0101 0110 0100 0100 1011 0110 0011 1010 0001 1010 1110 0111 1011 1110} and LS2, having a binary sequence such as {1011 1001 1110 1111 1000 0001 0101 0011 0010 0010 0101 1011 0001 1101 0000 1101}. As is the case with the SS, each bit of the binary data input sequence of the LS is modulated as a π/4-offset BPSK modulation. As noted in FIG. 1, half of the LS segments that are used in a Long Sequence 106 are inverted (as noted by the negative sign shown for LSs of the second half of the Long Sequence 106).
Each Gap consists of 32 in-phase and quadrature zeros at a nominal sample rate of 50 MHz.
Each CP is a repeat of the end of the symbol at the beginning. The purpose is to allow multipath to settle before the main data arrives at the receiver. The receiver is normally arranged to decode the signal after it has settled because this avoids inter-symbol interference. The length of the cyclic prefix is often equal to the duration of the channel impulse response.
Each CE is a 256-bit binary data sequence in which each bit is modulated on one of the 256 active sub-carriers. The bit sequence is, for example, the binary sequence expressed in hexidecimal notion as {ABD2 F451 90AE 61E1 D660 D737 3851 2273 6DE9 86E5 B401 CCC6 8DC1 2613 E116 0E2E} where the first bit in the sequence is assigned to the 0th sub-carrier and the last bit is assigned to the 255th sub-carrier.
The preamble lengths are varied to maximize the available bandwidth for data transmission. As shown in FIG. 1, the two most robust preambles are the Beacon Preamble 102 and the MAP Preamble 122. The Beacon Preamble 102 and the MAP Preamble 122 are the most robust and least efficient preambles because they are used for network coordination and contain information concerning the network. The second most robust preamble type is the Admission/Probes Preamble 132. The Admission/Probe Preamble 132 is used by a transmitter to accommodate a receiver that has little-to-no a priori information about the communication link over which the transmitter will transmit data. The second most efficient preamble is the Broadcast/Data Preamble 142. The Broadcast/Data Preamble 140 is used to transfer data from a transmitter to one or more receivers and assumes the receiving node has some a priori information about the communication link. The most efficient, and thus shortest, preamble is the High-Throughput Unicast Data (HTUD) Preamble 152. The HTUD Preamble 152 is appended to the beginning of a data packet when the receiver has a substantial amount of a priori information about the communication channel.
Beacon Preamble
In a conventional MoCA network, a Beacon 100 is transmitted at regular intervals by the network's Network Controller (NC). In some embodiments, the NC transmits a Beacon 100 every 10 ms. A node attempting to join an existing MoCA network may scan for a Beacon 100, which provides network information such as the channel time clock (CTC), the MoCA network version, and the time of the next admission control frame (ACF) in the data payload 160. Once a node has joined a MoCA network, the node uses the Beacons 100 to track the CTC, determine when the next MAP 120 occurs, and to track a NC handoff, e.g., when the NC changes from one node to another node.
As shown in FIG. 1, the Beacon Preamble 102 includes a Short Sequence 104 followed by a Long Sequence 106. An Access ID 108 follows the long sequence 106 and precedes a Channel Estimation Training Sequence 110. The data payload 160 follows the Channel Estimation Training Sequence 110.
The Short Sequence 104 comprises twelve SS segments, each of which is comprised of 30 time domain samples at a sample rate of 50 MHz. In accordance with one embodiment of the disclosed method and apparatus, the Short Sequence 104 is used by a receiving node for making automatic gain control (AGC) adjustments. There are two scenarios in which a Beacon 100 may be received at a receiving node. In one scenario, the receiving node is attempting to join the MoCA network. Accordingly, the node will have no information about the network and the Short Sequence 102 is used to accommodate the AGC adjustments that may be required by the joining node. In the second scenario, the node is already connected to the network and thus the node will likely need to make few if any AGC adjustments since the NC regularly transmits messages through the MoCA network.
Long Sequence 106 comprises eight LS1 segments, each of which are comprised of 64 time domain samples at a sample rate of 50 MHz. In one embodiment of the disclosed method and apparatus, the Long Sequence 106 is used by a receiving node for burst detection, frequency estimation, deriving packet start time, and making a final AGC adjustment as described in greater detail below.
Access ID 108 includes an SS segment, a Gap, and an LS4 segment. The Gap has a length of 32 samples at a sample rate of 50 MHz, and is generated by setting the voltage on the communication link to zero volts.
The Access ID 108 of the Beacon Preamble 102 is used by a node searching for a Beacon 100 when attempting to join a MoCA network. For example, after burst detection has been performed by a receiving node, the receiving node will validate the Access ID 108. The validation of the Access ID 108 is accomplished by correlating the LS4 segment against a stored reference of the LS4 segment. If the Access ID 108 is not validated by the receiving node (e.g., there is a poor correlation between the stored reference value and incoming LS4 segment), then the receiving node will assume that burst detection occurred either on the preamble of a non-Beacon packet or was falsely detected. The receiving node will then reset the burst detector and continue searching for the Beacon 100 rather than continuing to process the packet. If the Beacon 100 is detected, then the receiving node will know a priori when the next Beacon 100 will arrive and validation of the Access ID 108 is not required.
The Channel Estimation Training Sequence 110 includes a cyclic prefix CP having a length of 64 samples at a sample rate of 50 MHz, plus an additional 32 samples at a sample rate of 50 MHz. The cyclic prefix CP and 32 additional samples are followed by two channel estimation symbols, CE. The Channel Estimation Training Sequence 110 is used for estimating the characteristics of the communication link or channel between two nodes. The cyclic prefix CP and the 32 additional samples in conjunction with the 126 samples of the Access ID 108 ensure that the burst detection and packet start time computations (e.g., when the data packet 160 will be received) are complete prior to the arrival of the channel estimation symbols, CE. In accordance with one embodiment of the disclosed method and apparatus, the two CE symbols are used to start the frequency and timing tracking loops of the receiving node.
Map Preamble
MAPs 120 are broadcast packets sent by the NC to all of the network nodes to provide scheduling information and are transmitted on a frequent basis. In some MoCA networks, the MAPs 120 are transmitted by the NC approximately every 1 ms on average. The MAPs 120 identify when each network node is scheduled to transmit data through the network. As shown in FIG. 1, the MAP Preamble 122 is identical to the Beacon Preamble 102 with the exception of an LS3 segment being used instead of an LS4 segment. Descriptions of the like components of the MAP Preamble 122 are omitted to avoid redundancy.
A network node distinguishes a MAP 120 from a Beacon 100 by the outcome of the correlation of the LS segment of the Access IDs 108, 124. Accordingly, the LS3 and LS4 segments correlate against one another poorly so that a receiving node may easily distinguish between a MAP 120 and a Beacon 100.
Admission/Probe Preamble
Admission packets 130 are transmitted prior to a link profile being established for a node being admitted to the network. Accordingly, an Admission packet 130 is transmitted when a network node has little to no information concerning the communication link between it and the admitting network node. In these scenarios, the first Admission packet 130 is transmitted in an admission request, which has a scheduled time slot as identified by the Beacon or MAP packet 120. The Probes 130 are transmitted by each of the network nodes and are used to characterize communication channels between the transmitting network node and each of the other nodes connected to the network. The Probes 130 are transmitted at regular intervals between each of the network nodes.
As shown in FIG. 1, the Admission/Probe Preamble 132 is similar to the Beacon and MAP Preambles 102, 122 with two exceptions. One difference between the Admission/Probe Preamble 132 and the Beacon and MAP Preambles 102, 122 is that the Admission/Probe Preamble 132 does not include an Access ID 108, 124. The second difference between the Admission/Probe Preamble 132 and the Beacon and MAP Preambles 102, 122 is that the cyclic prefix CP of the Channel Estimation Training Sequence 134 is followed by 100 additional 50 MHz samples as opposed to the 32 additional 50 MHz samples implemented in the Beacon and Admission/Probe Preambles 102, 122.
The processing and use of the Short Sequence 104 and Long Sequence 106 of the Admission/Probe Preamble 132 are utilized by a receiving node in the same manner in which they are used by a receiving node receiving a Beacon or MAP Preamble 102, 122. Similar descriptions are not repeated.
The 100 additional samples that follow the cyclic prefix CP in the Admission/Probe Preamble 132 are implemented to ensure that the burst detection and packet start time computation performed by a receiving node are completed prior to the arrival of the channel estimation symbols CE. The CE symbols are used to start the frequency and timing tracking loops of the receiving node.
Broadcast Data Preamble
The Broadcast/Data Preamble 142 is attached to the beginning of all data packets that are broadcast by a network node. The Broadcast/Data Preamble 142 is shorter in length than the Beacon, MAP, and Admission/Probe Preambles 102, 122, 132 because the receiving nodes will have some information concerning the communication channels through which they will receive the data.
As shown in FIG. 1, the Broadcast/Data Preamble 142 includes a Medium Sequence 144 followed by a Channel Estimation Training Sequence 134. Medium Sequence 144 includes a single SS segment used for AGC adjustment followed by four LS1 segments, which in accordance with one embodiment of the disclosed method and apparatus, are used to perform a final AGC adjustment, burst detection, frequency estimation, and to derive the start time of the data.
The Channel Estimation Training Sequence 134 includes the cyclic prefix CP and 100 additional 50 MHz samples followed by two CE symbols. The 100 samples that follow the CP ensure that burst detection and packet start time computations performed by receiving nodes is completed prior to the arrival of the channel estimation symbols, CE, which are used to start the frequency and timing tracking loops of the receiving node.
HTUD Preamble
The HTUD Preamble 152 is the most efficient Preamble and is reserved for unicast data transmission between nodes having considerable a priori information concerning the communication channel through which they communicate. As shown in FIG. 1, the HTUD Preamble 152 includes an LS2 segment followed by the Channel Estimation Training Sequence 134.
The LS2 segment of the HTUD Preamble 152 is used for burst detection and deriving the start time of the data. Frequency estimation and AGC adjustments are not performed as the receiving nodes rely on a priori gain and frequency estimates to maximize data throughput.
While preambles are necessary to calibrate the receiver and identify the start of the data, they take up valuable network bandwidth and reduce the throughput of the communication channel.
Accordingly, high-efficiency preambles for communication systems over pseudo-stationary communications systems are desirable.